<!DOCTYPE html><html><head><meta charset="utf-8"><title>JSSDK-6.X （H5）API文档.md</title><style>@charset "UTF-8";@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha2/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.4285714;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered,.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}fieldset{border:0;min-width:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}output,.form-control{display:block;font-size:14px;line-height:1.4285714;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px;line-height:1.4285714 \0}input[type="date"].input-sm,.form-horizontal .form-group-sm input.form-control[type="date"],.input-group-sm>input.form-control[type="date"],.input-group-sm>input.input-group-addon[type="date"],.input-group-sm>.input-group-btn>input.btn[type="date"],input[type="time"].input-sm,.form-horizontal .form-group-sm input.form-control[type="time"],.input-group-sm>input.form-control[type="time"],.input-group-sm>input.input-group-addon[type="time"],.input-group-sm>.input-group-btn>input.btn[type="time"],input[type="datetime-local"].input-sm,.form-horizontal .form-group-sm input.form-control[type="datetime-local"],.input-group-sm>input.form-control[type="datetime-local"],.input-group-sm>input.input-group-addon[type="datetime-local"],.input-group-sm>.input-group-btn>input.btn[type="datetime-local"],input[type="month"].input-sm,.form-horizontal .form-group-sm input.form-control[type="month"],.input-group-sm>input.form-control[type="month"],.input-group-sm>input.input-group-addon[type="month"],.input-group-sm>.input-group-btn>input.btn[type="month"]{line-height:30px}input[type="date"].input-lg,.form-horizontal .form-group-lg input.form-control[type="date"],.input-group-lg>input.form-control[type="date"],.input-group-lg>input.input-group-addon[type="date"],.input-group-lg>.input-group-btn>input.btn[type="date"],input[type="time"].input-lg,.form-horizontal .form-group-lg input.form-control[type="time"],.input-group-lg>input.form-control[type="time"],.input-group-lg>input.input-group-addon[type="time"],.input-group-lg>.input-group-btn>input.btn[type="time"],input[type="datetime-local"].input-lg,.form-horizontal .form-group-lg input.form-control[type="datetime-local"],.input-group-lg>input.form-control[type="datetime-local"],.input-group-lg>input.input-group-addon[type="datetime-local"],.input-group-lg>.input-group-btn>input.btn[type="datetime-local"],input[type="month"].input-lg,.form-horizontal .form-group-lg input.form-control[type="month"],.input-group-lg>input.form-control[type="month"],.input-group-lg>input.input-group-addon[type="month"],.input-group-lg>.input-group-btn>input.btn[type="month"]{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"],.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline,.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-horizontal .form-group-lg .form-control-static.form-control,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.form-horizontal .form-group-sm .form-control-static.form-control,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.form-horizontal .form-group-sm .form-control,.input-group-sm>.form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-addon{height:30px;line-height:1.5}.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.form-horizontal .form-group-sm select.form-control,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.form-horizontal .form-group-sm textarea.form-control,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.form-horizontal .form-group-sm select.form-control[multiple],.input-group-sm>select.form-control[multiple],.input-group-sm>select.input-group-addon[multiple],.input-group-sm>.input-group-btn>select.btn[multiple]{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control,.input-group-lg>.form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.input-group-lg>.input-group-addon{height:46px;line-height:1.33}.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,.form-horizontal .form-group-lg select.form-control,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.form-horizontal .form-group-lg textarea.form-control,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.form-horizontal .form-group-lg select.form-control[multiple],.input-group-lg>select.form-control[multiple],.input-group-lg>select.input-group-addon[multiple],.input-group-lg>.input-group-btn>select.btn[multiple]{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback,.form-horizontal .form-group-lg .form-control+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.form-horizontal .form-group-sm .form-control+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .form-group:after{content:" ";display:table;clear:both}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px}.btn-sm,.btn-xs{font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{white-space:nowrap}.input-group-addon,.input-group-btn{width:1%;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.form-horizontal .form-group-sm .input-group-addon.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.form-horizontal .form-group-lg .input-group-addon.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.4285714;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open,.modal{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{transform:translate3d(0,-25%,0);transition:transform .3s ease-out}.modal.in .modal-dialog{transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.4285714px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.4285714}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;transform:translate3d(0,0,0)}.hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496;-webkit-text-size-adjust:none}.hljs-comment,.hljs-template_comment,.diff .hljs-header,.hljs-doctype,.hljs-pi,.lisp .hljs-string,.hljs-javadoc{color:#586e75}.hljs-keyword,.hljs-winutils,.method,.hljs-addition,.css .hljs-tag,.hljs-request,.hljs-status,.nginx .hljs-title{color:#859900}.hljs-number,.hljs-command,.hljs-string,.hljs-tag .hljs-value,.hljs-rules .hljs-value,.hljs-phpdoc,.hljs-dartdoc,.tex .hljs-formula,.hljs-regexp,.hljs-hexcolor,.hljs-link_url{color:#2aa198}.hljs-title,.hljs-localvars,.hljs-chunk,.hljs-decorator,.hljs-built_in,.hljs-identifier,.vhdl .hljs-literal,.hljs-id,.css .hljs-function{color:#268bd2}.hljs-attribute,.hljs-variable,.lisp .hljs-body,.smalltalk .hljs-number,.hljs-constant,.hljs-class .hljs-title,.hljs-parent,.hljs-type,.hljs-link_reference{color:#b58900}.hljs-preprocessor,.hljs-preprocessor .hljs-keyword,.hljs-pragma,.hljs-shebang,.hljs-symbol,.hljs-symbol .hljs-string,.diff .hljs-change,.hljs-special,.hljs-attr_selector,.hljs-subst,.hljs-cdata,.css .hljs-pseudo,.hljs-header{color:#cb4b16}.hljs-deletion,.hljs-important{color:#dc322f}.hljs-link_label{color:#6c71c4}.tex .hljs-formula{background:#073642}*,*:before,*:after{box-sizing:border-box}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}images{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd{font-size:1em}code,kbd,pre,samp{font-family:monospace,monospace}samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;margin-right:5px}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}.debug{background-color:#ffc0cb!important}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ir{background-color:transparent;border:0;overflow:hidden}.ir::before{content:'';display:block;height:150%;width:0}html{font-size:.875em;background:#fff;color:#373D49}html,body{font-family:Georgia,Cambria,serif;height:100%}body{font-size:1rem;font-weight:400;line-height:2rem}ul,ol{margin-bottom:.83999rem;padding-top:.16001rem}li{font-feature-settings:'kern' 1,'onum' 1,'liga' 1;margin-left:1rem}li>ul,li>ol{margin-bottom:0}p{padding-top:.66001rem;font-feature-settings:'kern' 1,'onum' 1,'liga' 1;margin-top:0}p,pre{margin-bottom:1.33999rem}pre{font-size:1rem;padding:.66001rem 9.5px 9.5px;line-height:2rem;background:linear-gradient(to bottom,#fff 0,#fff .75rem,#f5f7fa .75rem,#f5f7fa 2.75rem,#fff 2.75rem,#fff 4rem);background-size:100% 4rem;border-color:#D3DAEA}blockquote{margin:0}blockquote p{font-size:1rem;margin-bottom:.33999rem;font-style:italic;padding:.66001rem 1rem 1rem;border-left:3px solid #A0AABF}th,td{padding:12px}h1,h2,h3,h4,h5,h6{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-feature-settings:'dlig' 1,'liga' 1,'lnum' 1,'kern' 1;font-style:normal;font-weight:600;margin-top:0}h1{line-height:3rem;font-size:2.0571429rem;margin-bottom:.21999rem;padding-top:.78001rem}h2{font-size:1.953125rem;margin-bottom:.1835837rem;padding-top:.8164163rem}h2,h3{line-height:3rem}h3{font-size:1.6457143rem;margin-bottom:.07599rem;padding-top:.92401rem}h4{font-size:1.5625rem;margin-bottom:.546865rem;padding-top:.453135rem}h5{font-size:1.25rem;margin-bottom:-.56251rem;padding-top:.56251rem}h6{font-size:1rem;margin-bottom:-.65001rem;padding-top:.65001rem}a{cursor:pointer;color:#35D7BB;text-decoration:none}a:hover,a:focus{border-bottom-color:#35D7BB;color:#dff9f4}img{height:auto;max-width:100%}dt{font-style:italic;font-weight:600}.g{display:block}.g:after{clear:both;content:'';display:table}.g-b{float:left;margin:0;width:100%}.g{margin-left:-16px;margin-right:-16px}.g-b{padding-left:16px;padding-right:16px}.g-b--center{display:block;float:none;margin:0 auto}.g-b--right{float:right}.g-b--1of1{width:100%}.g-b--1of2,.g-b--2of4,.g-b--3of6,.g-b--4of8,.g-b--5of10,.g-b--6of12{width:50%}.g-b--1of3,.g-b--2of6,.g-b--4of12{width:33.333%}.g-b--2of3,.g-b--4of6,.g-b--8of12{width:66.666%}.g-b--1of4,.g-b--2of8,.g-b--3of12{width:25%}.g-b--3of4,.g-b--6of8,.g-b--9of12{width:75%}.g-b--1of5,.g-b--2of10{width:20%}.g-b--2of5,.g-b--4of10{width:40%}.g-b--3of5,.g-b--6of10{width:60%}.g-b--4of5,.g-b--8of10{width:80%}.g-b--1of6,.g-b--2of12{width:16.666%}.g-b--5of6,.g-b--10of12{width:83.333%}.g-b--1of8{width:12.5%}.g-b--3of8{width:37.5%}.g-b--5of8{width:62.5%}.g-b--7of8{width:87.5%}.g-b--1of10{width:10%}.g-b--3of10{width:30%}.g-b--7of10{width:70%}.g-b--9of10{width:90%}.g-b--1of12{width:8.333%}.g-b--5of12{width:41.666%}.g-b--7of12{width:58.333%}.g-b--11of12{width:91.666%}.g-b--push--1of1{margin-left:100%}.g-b--push--1of2,.g-b--push--2of4,.g-b--push--3of6,.g-b--push--4of8,.g-b--push--5of10,.g-b--push--6of12{margin-left:50%}.g-b--push--1of3,.g-b--push--2of6,.g-b--push--4of12{margin-left:33.333%}.g-b--push--2of3,.g-b--push--4of6,.g-b--push--8of12{margin-left:66.666%}.g-b--push--1of4,.g-b--push--2of8,.g-b--push--3of12{margin-left:25%}.g-b--push--3of4,.g-b--push--6of8,.g-b--push--9of12{margin-left:75%}.g-b--push--1of5,.g-b--push--2of10{margin-left:20%}.g-b--push--2of5,.g-b--push--4of10{margin-left:40%}.g-b--push--3of5,.g-b--push--6of10{margin-left:60%}.g-b--push--4of5,.g-b--push--8of10{margin-left:80%}.g-b--push--1of6,.g-b--push--2of12{margin-left:16.666%}.g-b--push--5of6,.g-b--push--10of12{margin-left:83.333%}.g-b--push--1of8{margin-left:12.5%}.g-b--push--3of8{margin-left:37.5%}.g-b--push--5of8{margin-left:62.5%}.g-b--push--7of8{margin-left:87.5%}.g-b--push--1of10{margin-left:10%}.g-b--push--3of10{margin-left:30%}.g-b--push--7of10{margin-left:70%}.g-b--push--9of10{margin-left:90%}.g-b--push--1of12{margin-left:8.333%}.g-b--push--5of12{margin-left:41.666%}.g-b--push--7of12{margin-left:58.333%}.g-b--push--11of12{margin-left:91.666%}.g-b--pull--1of1{margin-right:100%}.g-b--pull--1of2,.g-b--pull--2of4,.g-b--pull--3of6,.g-b--pull--4of8,.g-b--pull--5of10,.g-b--pull--6of12{margin-right:50%}.g-b--pull--1of3,.g-b--pull--2of6,.g-b--pull--4of12{margin-right:33.333%}.g-b--pull--2of3,.g-b--pull--4of6,.g-b--pull--8of12{margin-right:66.666%}.g-b--pull--1of4,.g-b--pull--2of8,.g-b--pull--3of12{margin-right:25%}.g-b--pull--3of4,.g-b--pull--6of8,.g-b--pull--9of12{margin-right:75%}.g-b--pull--1of5,.g-b--pull--2of10{margin-right:20%}.g-b--pull--2of5,.g-b--pull--4of10{margin-right:40%}.g-b--pull--3of5,.g-b--pull--6of10{margin-right:60%}.g-b--pull--4of5,.g-b--pull--8of10{margin-right:80%}.g-b--pull--1of6,.g-b--pull--2of12{margin-right:16.666%}.g-b--pull--5of6,.g-b--pull--10of12{margin-right:83.333%}.g-b--pull--1of8{margin-right:12.5%}.g-b--pull--3of8{margin-right:37.5%}.g-b--pull--5of8{margin-right:62.5%}.g-b--pull--7of8{margin-right:87.5%}.g-b--pull--1of10{margin-right:10%}.g-b--pull--3of10{margin-right:30%}.g-b--pull--7of10{margin-right:70%}.g-b--pull--9of10{margin-right:90%}.g-b--pull--1of12{margin-right:8.333%}.g-b--pull--5of12{margin-right:41.666%}.g-b--pull--7of12{margin-right:58.333%}.g-b--pull--11of12{margin-right:91.666%}.splashscreen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#373D49;z-index:22}.splashscreen-dillinger{width:260px;height:auto;display:block;margin:0 auto;padding-bottom:3rem}.splashscreen p{font-size:1.25rem;padding-top:.56251rem;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;text-align:center;max-width:500px;margin:0 auto;color:#FFF}.sp-center{position:relative;transform:translateY(-50%);top:50%}.open-menu>.wrapper{overflow-x:hidden}.page{margin:0 auto;position:relative;top:0;left:0;width:100%;height:100%;z-index:2;transition:all .25s ease-in-out;background-color:#fff;padding-top:51px;will-change:left}.open-menu .page{left:270px}.title{line-height:1rem;font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem;font-weight:500;color:#A0AABF;letter-spacing:1px;text-transform:uppercase;padding-left:16px;padding-right:16px;margin-top:1rem}.split-preview .title{padding-left:0}.title-document{line-height:1rem;font-size:1.25rem;margin-bottom:.89999rem;padding-top:.10001rem;font-weight:400;font-family:"Ubuntu Mono",Monaco;color:#373D49;padding-left:16px;padding-right:16px;width:80%;min-width:300px;outline:0;border:none}.icon{display:block;margin:0 auto;width:36px;height:36px;border-radius:3px;text-align:center}.icon svg{display:inline-block;margin-left:auto;margin-right:auto}.icon-preview{background-color:#373D49;line-height:40px}.icon-preview svg{width:19px;height:12px}.icon-settings{background-color:#373D49;line-height:44px}.icon-settings svg{width:18px;height:18px}.icon-link{width:16px;height:16px;line-height:1;margin-right:24px;text-align:right}.navbar{background-color:#373D49;height:51px;width:100%;position:fixed;top:0;left:0;z-index:6;transition:all .25s ease-in-out;will-change:left}.navbar:after{content:"";display:table;clear:both}.open-menu .navbar{left:270px}.navbar-brand{float:left;margin:0 0 0 24px;padding:0;line-height:42px}.navbar-brand svg{width:85px;height:11px}.nav-left{float:left}.nav-right{float:right}.nav-sidebar{width:100%}.menu{list-style:none;margin:0;padding:0}.menu a{border:0;color:#A0AABF;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;outline:none;text-transform:uppercase}.menu a:hover{color:#35D7BB}.menu .menu-item{border:0;display:none;float:left;margin:0;position:relative}.menu .menu-item>a{display:block;font-size:12px;height:51px;letter-spacing:1px;line-height:51px;padding:0 24px}.menu .menu-item--settings,.menu .menu-item--preview,.menu .menu-item--save-to.in-sidebar,.menu .menu-item--import-from.in-sidebar,.menu .menu-item--link-unlink.in-sidebar,.menu .menu-item--documents.in-sidebar{display:block}.menu .menu-item--documents{padding-bottom:1rem}.menu .menu-item.open>a{background-color:#1D212A}.menu .menu-item-icon>a{height:auto;padding:0}.menu .menu-item-icon:hover>a{background-color:transparent}.menu .menu-link.open i{background-color:#1D212A}.menu .menu-link.open g{fill:#35D7BB}.menu .menu-link-preview,.menu .menu-link-settings{margin-top:8px;width:51px}.menu-sidebar{width:100%}.menu-sidebar .menu-item{float:none;margin-bottom:1px;width:100%}.menu-sidebar .menu-item.open>a{background-color:#373D49}.menu-sidebar .open .caret{transform:rotate(180deg)}.menu-sidebar>.menu-item:hover .dropdown a,.menu-sidebar>.menu-item:hover .settings a{background-color:transparent}.menu-sidebar .menu-link{background-color:#373D49;font-weight:600}.menu-sidebar .menu-link:after{content:"";display:table;clear:both}.menu-sidebar .menu-link>span{float:left}.menu-sidebar .menu-link>.caret{float:right;text-align:right;top:22px}.menu-sidebar .dropdown,.menu-sidebar .settings{background-color:transparent;position:static;width:100%}.dropdown{position:absolute;right:0;top:51px;width:188px}.dropdown,.settings{display:none;background-color:#1D212A}.dropdown{padding:0}.dropdown,.settings,.sidebar-list{list-style:none;margin:0}.sidebar-list{padding:0}.dropdown li{margin:32px 0;padding:0 0 0 32px}.dropdown li,.settings li{line-height:1}.sidebar-list li{line-height:1;margin:32px 0;padding:0 0 0 32px}.dropdown a{color:#D0D6E2}.dropdown a,.settings a,.sidebar-list a{display:block;text-transform:none}.sidebar-list a{color:#D0D6E2}.dropdown a:after,.settings a:after,.sidebar-list a:after{content:"";display:table;clear:both}.dropdown .icon,.settings .icon,.sidebar-list .icon{float:right}.open .dropdown,.open .settings,.open .sidebar-list{display:block}.open .dropdown.collapse,.open .collapse.settings,.open .sidebar-list.collapse{display:none}.open .dropdown.collapse.in,.open .collapse.in.settings,.open .sidebar-list.collapse.in{display:block}.dropdown .unlinked .icon,.settings .unlinked .icon,.sidebar-list .unlinked .icon{opacity:.3}.dropdown.documents li,.documents.settings li,.sidebar-list.documents li{background-image:url("../img/icons/file.svg");background-position:240px center;background-repeat:no-repeat;background-size:14px 16px;padding:3px 32px}.dropdown.documents li.octocat,.documents.settings li.octocat,.sidebar-list.documents li.octocat{background-image:url("../img/icons/octocat.svg");background-position:234px center;background-size:24px 24px}.dropdown.documents li:last-child,.documents.settings li:last-child,.sidebar-list.documents li:last-child{margin-bottom:1rem}.dropdown.documents li.active a,.documents.settings li.active a,.sidebar-list.documents li.active a{color:#35D7BB}.settings{position:fixed;top:67px;right:16px;border-radius:3px;width:288px;background-color:#373D49;padding:16px;z-index:7}.show-settings .settings{display:block}.settings .has-checkbox{float:left}.settings form{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}.settings input{width:20%}.settings a{font-size:1.25rem;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:28px;color:#D0D6E2}.settings a:after{content:"";display:table;clear:both}.settings a:hover{color:#35D7BB}.settings li{border-bottom:1px solid #4F535B;margin:0;padding:16px 0}.settings li:last-child{border-bottom:none}.brand{border:none;display:block}.brand:hover g{fill:#35D7BB}.toggle{display:block;float:left;height:16px;padding:25px 16px 26px;width:40px}.toggle span:after,.toggle span:before{content:'';left:0;position:absolute;top:-6px}.toggle span:after{top:6px}.toggle span{display:block;position:relative}.toggle span,.toggle span:after,.toggle span:before{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#D3DAEA;height:2px;transition:all .3s;width:20px}.open-menu .toggle span{background-color:transparent}.open-menu .toggle span:before{transform:rotate(45deg) translate(3px,3px)}.open-menu .toggle span:after{transform:rotate(-45deg) translate(5px,-6px)}.caret{display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;position:relative;top:-1px;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.sidebar{overflow:auto;height:100%;padding-right:15px;padding-bottom:15px;width:285px}.sidebar-wrapper{-webkit-overflow-scrolling:touch;background-color:#2B2F36;left:0;height:100%;overflow-y:hidden;position:fixed;top:0;width:285px;z-index:1}.sidebar-branding{width:160px;padding:0;margin:16px auto}.header{border-bottom:1px solid #E8E8E8;position:relative}.words,.characters{line-height:1rem;font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem;font-weight:500;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;color:#A0AABF;letter-spacing:1px;text-transform:uppercase;z-index:5;position:absolute;right:16px;top:0}.words span,.characters span{color:#000}.words+.characters{top:22px}.btn{text-align:center;display:inline-block;width:100%;text-transform:uppercase;font-weight:600;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:0 1px 0 #1b8b77;padding:16px 24px;background-color:#35D7BB;border-radius:3px;margin:0 auto 16px;line-height:1;color:#fff;transition:all .15s linear;-webkit-font-smoothing:antialiased}.btn--new,.btn--save{display:block;width:238px}.btn--new:hover,.btn--new:focus,.btn--save:hover,.btn--save:focus{color:#fff;border-bottom-color:transparent;box-shadow:0 1px 3px #24b59c;text-shadow:0 1px 0 #24b59c}.btn--save{background-color:#4A5261;text-shadow:0 1px 1px #1e2127}.btn--save:hover,.btn--save:focus{color:#fff;border-bottom-color:transparent;box-shadow:0 1px 5px #08090a;text-shadow:none}.btn--delete{display:block;width:238px;background-color:transparent;font-size:12px;text-shadow:none}.btn--delete:hover,.btn--delete:focus{color:#fff;border-bottom-color:transparent;text-shadow:0 1px 0 #08090a;opacity:.8}.btn--delete-modal,.btn--ok,.btn--close{border-top:0;background-color:#4A5261;text-shadow:0 1px 0 #08090a;margin:0}.btn--delete-modal:hover,.btn--delete-modal:focus,.btn--ok:hover,.btn--ok:focus,.btn--close:hover,.btn--close:focus{color:#fff;background-color:#292d36;text-shadow:none}.btn--delete-modal{display:inline;width:auto}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(55,61,73,.8);transition:all .25s ease-in-out;transition-timing-function:ease-out;will-change:left,opacity,visibility;z-index:5;opacity:0;visibility:hidden}.show-settings .overlay{visibility:visible;opacity:1}.switch{float:right;line-height:1}.switch input{display:none}.switch small{display:inline-block;cursor:pointer;padding:0 24px 0 0;transition:all ease .2s;background-color:#2B2F36;border-color:#2B2F36}.switch small,.switch small:before{border-radius:30px;box-shadow:inset 0 0 2px 0 #14171F}.switch small:before{display:block;content:'';width:28px;height:28px;background:#fff}.switch.checked small{padding-right:0;padding-left:24px;background-color:#35D7BB;box-shadow:none}.modal--dillinger.about .modal-dialog{font-size:1.25rem;max-width:500px}.modal--dillinger.scope .modal-dialog{max-width:300px;margin:5rem auto}.modal--dillinger .modal-dialog{max-width:600px;width:auto;margin:5rem auto}.modal--dillinger .modal-content{background:#373D49;border-radius:3px;box-shadow:0 2px 5px 0 #2C3B59;color:#fff;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;padding:2rem}.modal--dillinger ul{list-style-type:disc;margin:1rem 0;padding:0 0 0 1rem}.modal--dillinger li{padding:0;margin:0}.modal--dillinger .modal-header{border:0;padding:0}.modal--dillinger .modal-body{padding:0}.modal--dillinger .modal-footer{border:0;padding:0}.modal--dillinger .close{color:#fff;opacity:1}.modal-backdrop{background-color:#373D49}.pagination--dillinger{padding:0!important;margin:1.5rem 0!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:stretch;align-content:stretch}.pagination--dillinger li{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;text-align:center}.pagination--dillinger li:first-child>a,.pagination--dillinger li.disabled>a,.pagination--dillinger li.disabled>a:hover,.pagination--dillinger li.disabled>a:focus,.pagination--dillinger li>a{background-color:transparent;border-color:#4F535B;border-right-color:transparent}.pagination--dillinger li.active>a,.pagination--dillinger li.active>a:hover,.pagination--dillinger li.active>a:focus{border-color:#4A5261;background-color:#4A5261;color:#fff}.pagination--dillinger li>a{float:none;color:#fff;width:100%;display:block;text-align:center;margin:0;border-right-color:transparent;padding:6px}.pagination--dillinger li>a:hover,.pagination--dillinger li>a:focus{border-color:#35D7BB;background-color:#35D7BB;color:#fff}.pagination--dillinger li:last-child a{border-color:#4F535B}.pagination--dillinger li:first-child a{border-right-color:transparent}.diNotify{position:absolute;z-index:9999;left:0;right:0;top:0;margin:0 auto;max-width:400px;text-align:center;transition:top .5s ease-in-out,opacity .5s ease-in-out;visibility:hidden}.diNotify-body{-webkit-font-smoothing:antialiased;background-color:#35D7BB;background:#666E7F;border-radius:3px;color:#fff;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;overflow:hidden;padding:1rem 2rem .5rem;display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;-ms-flex-pack:center;justify-content:center}.diNotify-icon{display:block;width:16px;height:16px;line-height:16px;position:relative;top:3px}.diNotify-message{padding-left:1rem}.zen-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:10;background-color:#FFF;opacity:0;transition:opacity .25s ease-in-out}.zen-wrapper.on{opacity:1}.enter-zen-mode{background-image:url("../img/icons/enter-zen.svg");right:.5rem;top:.313rem;display:none}.enter-zen-mode,.close-zen-mode{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;background-repeat:no-repeat;width:32px;height:32px;display:block;position:absolute}.close-zen-mode{background-image:url("../img/icons/exit-zen.svg");right:1rem;top:1rem}.zen-page{position:relative;top:0;bottom:0;z-index:11;height:100%;width:100%}#zen{font-size:1.25rem;width:300px;height:80%;margin:0 auto;position:relative;top:10%}#zen:before,#zen:after{content:"";position:absolute;height:10%;width:100%;z-index:12;pointer-events:none}#preview .table{width:auto}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block}.ui-resizable-e{background-color:#666;border-right:8px solid #e8e8e8;border-left:1px solid #222;width:10px;z-index:88!important;position:relative}.ui-resizable-e:after{content:"-";display:block;position:absolute;top:calc(50% - 16px);left:0;height:25px;width:2px;background-color:rgba(0,0,0,.4);margin:3px}#editor{cursor:ew-resize;position:relative;z-index:auto}.profile-pic{float:left;width:250px}#_default_ a::before{color:#A0AABF}#_default_ img{display:none}#_default_ #_default_{display:block;float:left;max-width:38%;word-wrap:break-word}#_default_ .default-ad{display:none}#_default_ ._default_{display:block}#_default_ a{color:#35d7bb;text-decoration:none}#_default_ a:hover{color:#8ae8d8}#_default_ .default-image{display:none}#_default_ .default-title:after{content:" — "}#_default_ .default-title,#_default_ .default-text,#_default_ .default-description{display:inline}#_default_ .default-title{position:relative;font-weight:600;display:none}#_default_ a:before{position:relative;top:0;padding:5px;color:#a0aabf;content:"Ad";text-transform:uppercase;font-size:8px;font-family:Verdana,sans-serif}#_default_{display:block;float:left;max-width:38%;word-wrap:break-word}#_default_ ._default_{display:block;font-size:.75rem;height:51px;letter-spacing:1px;line-height:1rem;padding:18px 24px}body{max-width:1024px;margin:0 auto;overflow:auto;padding:2%}.split{overflow:scroll;padding:0!important;-webkit-overflow-scrolling:touch}.split-editor{padding-left:0;padding-right:0;position:relative;z-index:3}.show-preview .split-editor{display:none}.split-preview{background-color:#fff;display:none;top:0;position:relative;z-index:4}.show-preview .split-preview{display:block}#editor{font-size:1rem;font-family:"Ubuntu Mono",Monaco;font-weight:400;line-height:2rem;width:100%;height:100%}#editor .ace_gutter{-webkit-font-smoothing:antialiased}.editor-header{width:50%;float:left;border-bottom:1px solid #E8E8E8;position:relative}.editor-header--first{border-right:1px solid #E8E8E8}.editor-header .title{display:inline-block}.preview-html{padding:15px}.preview-html a{color:#A0AABF;text-decoration:underline}.preview-src{white-space:normal}.preview-mode-toggle-src{background-image:url("../img/icons/code.svg")}.preview-mode-toggle-src,.preview-mode-toggle-html{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;background-repeat:no-repeat;width:32px;height:32px;display:block;position:absolute;right:.5rem;top:.5rem;display:none}.preview-mode-toggle-html{background-image:url("../img/icons/eye.svg")}.sr-only{visibility:hidden;text-overflow:110%;overflow:hidden;top:-100px;position:absolute}.mnone{margin:0!important}@media screen and (min-width:27.5em){html{font-size:.875em}body{font-size:1rem}ul,ol{margin-bottom:.83999rem;padding-top:.16001rem}p{padding-top:.66001rem}p,pre{margin-bottom:1.33999rem}pre,blockquote p{font-size:1rem;padding-top:.66001rem}blockquote p{margin-bottom:.33999rem}h1{font-size:2.0571429rem;margin-bottom:.21999rem;padding-top:.78001rem}h2{font-size:1.953125rem;margin-bottom:.1835837rem;padding-top:.8164163rem}h3{font-size:1.6457143rem;margin-bottom:.07599rem;padding-top:.92401rem}h4{font-size:1.5625rem;margin-bottom:.546865rem;padding-top:.453135rem}h5{font-size:1.25rem;margin-bottom:-.56251rem;padding-top:.56251rem}h6{font-size:1rem;margin-bottom:-.65001rem;padding-top:.65001rem}.g{margin-left:-16px;margin-right:-16px}.g-b{padding-left:16px;padding-right:16px}.g-b--m1of1{width:100%}.g-b--m1of2,.g-b--m2of4,.g-b--m3of6,.g-b--m4of8,.g-b--m5of10,.g-b--m6of12{width:50%}.g-b--m1of3,.g-b--m2of6,.g-b--m4of12{width:33.333%}.g-b--m2of3,.g-b--m4of6,.g-b--m8of12{width:66.666%}.g-b--m1of4,.g-b--m2of8,.g-b--m3of12{width:25%}.g-b--m3of4,.g-b--m6of8,.g-b--m9of12{width:75%}.g-b--m1of5,.g-b--m2of10{width:20%}.g-b--m2of5,.g-b--m4of10{width:40%}.g-b--m3of5,.g-b--m6of10{width:60%}.g-b--m4of5,.g-b--m8of10{width:80%}.g-b--m1of6,.g-b--m2of12{width:16.666%}.g-b--m5of6,.g-b--m10of12{width:83.333%}.g-b--m1of8{width:12.5%}.g-b--m3of8{width:37.5%}.g-b--m5of8{width:62.5%}.g-b--m7of8{width:87.5%}.g-b--m1of10{width:10%}.g-b--m3of10{width:30%}.g-b--m7of10{width:70%}.g-b--m9of10{width:90%}.g-b--m1of12{width:8.333%}.g-b--m5of12{width:41.666%}.g-b--m7of12{width:58.333%}.g-b--m11of12{width:91.666%}.g-b--push--m1of1{margin-left:100%}.g-b--push--m1of2,.g-b--push--m2of4,.g-b--push--m3of6,.g-b--push--m4of8,.g-b--push--m5of10,.g-b--push--m6of12{margin-left:50%}.g-b--push--m1of3,.g-b--push--m2of6,.g-b--push--m4of12{margin-left:33.333%}.g-b--push--m2of3,.g-b--push--m4of6,.g-b--push--m8of12{margin-left:66.666%}.g-b--push--m1of4,.g-b--push--m2of8,.g-b--push--m3of12{margin-left:25%}.g-b--push--m3of4,.g-b--push--m6of8,.g-b--push--m9of12{margin-left:75%}.g-b--push--m1of5,.g-b--push--m2of10{margin-left:20%}.g-b--push--m2of5,.g-b--push--m4of10{margin-left:40%}.g-b--push--m3of5,.g-b--push--m6of10{margin-left:60%}.g-b--push--m4of5,.g-b--push--m8of10{margin-left:80%}.g-b--push--m1of6,.g-b--push--m2of12{margin-left:16.666%}.g-b--push--m5of6,.g-b--push--m10of12{margin-left:83.333%}.g-b--push--m1of8{margin-left:12.5%}.g-b--push--m3of8{margin-left:37.5%}.g-b--push--m5of8{margin-left:62.5%}.g-b--push--m7of8{margin-left:87.5%}.g-b--push--m1of10{margin-left:10%}.g-b--push--m3of10{margin-left:30%}.g-b--push--m7of10{margin-left:70%}.g-b--push--m9of10{margin-left:90%}.g-b--push--m1of12{margin-left:8.333%}.g-b--push--m5of12{margin-left:41.666%}.g-b--push--m7of12{margin-left:58.333%}.g-b--push--m11of12{margin-left:91.666%}.g-b--pull--m1of1{margin-right:100%}.g-b--pull--m1of2,.g-b--pull--m2of4,.g-b--pull--m3of6,.g-b--pull--m4of8,.g-b--pull--m5of10,.g-b--pull--m6of12{margin-right:50%}.g-b--pull--m1of3,.g-b--pull--m2of6,.g-b--pull--m4of12{margin-right:33.333%}.g-b--pull--m2of3,.g-b--pull--m4of6,.g-b--pull--m8of12{margin-right:66.666%}.g-b--pull--m1of4,.g-b--pull--m2of8,.g-b--pull--m3of12{margin-right:25%}.g-b--pull--m3of4,.g-b--pull--m6of8,.g-b--pull--m9of12{margin-right:75%}.g-b--pull--m1of5,.g-b--pull--m2of10{margin-right:20%}.g-b--pull--m2of5,.g-b--pull--m4of10{margin-right:40%}.g-b--pull--m3of5,.g-b--pull--m6of10{margin-right:60%}.g-b--pull--m4of5,.g-b--pull--m8of10{margin-right:80%}.g-b--pull--m1of6,.g-b--pull--m2of12{margin-right:16.666%}.g-b--pull--m5of6,.g-b--pull--m10of12{margin-right:83.333%}.g-b--pull--m1of8{margin-right:12.5%}.g-b--pull--m3of8{margin-right:37.5%}.g-b--pull--m5of8{margin-right:62.5%}.g-b--pull--m7of8{margin-right:87.5%}.g-b--pull--m1of10{margin-right:10%}.g-b--pull--m3of10{margin-right:30%}.g-b--pull--m7of10{margin-right:70%}.g-b--pull--m9of10{margin-right:90%}.g-b--pull--m1of12{margin-right:8.333%}.g-b--pull--m5of12{margin-right:41.666%}.g-b--pull--m7of12{margin-right:58.333%}.g-b--pull--m11of12{margin-right:91.666%}.splashscreen p{font-size:1.25rem;margin-bottom:1.43749rem;padding-top:.56251rem}.title{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.title-document{margin-bottom:.89999rem;padding-top:.10001rem}.title-document,.settings a{font-size:1.25rem}.words,.characters{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.modal--dillinger.about .modal-dialog,#zen{font-size:1.25rem}#zen{width:400px}#editor{font-size:1rem}}@media screen and (min-width:46.25em){html{font-size:.875em}body{font-size:1rem}ul,ol{margin-bottom:.83999rem;padding-top:.16001rem}p{padding-top:.66001rem}p,pre{margin-bottom:1.33999rem}pre,blockquote p{font-size:1rem;padding-top:.66001rem}blockquote p{margin-bottom:.33999rem}h1{font-size:2.0571429rem;margin-bottom:.21999rem;padding-top:.78001rem}h2{font-size:1.953125rem;margin-bottom:.1835837rem;padding-top:.8164163rem}h3{font-size:1.6457143rem;margin-bottom:.07599rem;padding-top:.92401rem}h4{font-size:1.5625rem;margin-bottom:.546865rem;padding-top:.453135rem}h5{font-size:1.25rem;margin-bottom:-.56251rem;padding-top:.56251rem}h6{font-size:1rem;margin-bottom:-.65001rem;padding-top:.65001rem}.g{margin-left:-16px;margin-right:-16px}.g-b{padding-left:16px;padding-right:16px}.g-b--t1of1{width:100%}.g-b--t1of2,.g-b--t2of4,.g-b--t3of6,.g-b--t4of8,.g-b--t5of10,.g-b--t6of12{width:50%}.g-b--t1of3,.g-b--t2of6,.g-b--t4of12{width:33.333%}.g-b--t2of3,.g-b--t4of6,.g-b--t8of12{width:66.666%}.g-b--t1of4,.g-b--t2of8,.g-b--t3of12{width:25%}.g-b--t3of4,.g-b--t6of8,.g-b--t9of12{width:75%}.g-b--t1of5,.g-b--t2of10{width:20%}.g-b--t2of5,.g-b--t4of10{width:40%}.g-b--t3of5,.g-b--t6of10{width:60%}.g-b--t4of5,.g-b--t8of10{width:80%}.g-b--t1of6,.g-b--t2of12{width:16.666%}.g-b--t5of6,.g-b--t10of12{width:83.333%}.g-b--t1of8{width:12.5%}.g-b--t3of8{width:37.5%}.g-b--t5of8{width:62.5%}.g-b--t7of8{width:87.5%}.g-b--t1of10{width:10%}.g-b--t3of10{width:30%}.g-b--t7of10{width:70%}.g-b--t9of10{width:90%}.g-b--t1of12{width:8.333%}.g-b--t5of12{width:41.666%}.g-b--t7of12{width:58.333%}.g-b--t11of12{width:91.666%}.g-b--push--t1of1{margin-left:100%}.g-b--push--t1of2,.g-b--push--t2of4,.g-b--push--t3of6,.g-b--push--t4of8,.g-b--push--t5of10,.g-b--push--t6of12{margin-left:50%}.g-b--push--t1of3,.g-b--push--t2of6,.g-b--push--t4of12{margin-left:33.333%}.g-b--push--t2of3,.g-b--push--t4of6,.g-b--push--t8of12{margin-left:66.666%}.g-b--push--t1of4,.g-b--push--t2of8,.g-b--push--t3of12{margin-left:25%}.g-b--push--t3of4,.g-b--push--t6of8,.g-b--push--t9of12{margin-left:75%}.g-b--push--t1of5,.g-b--push--t2of10{margin-left:20%}.g-b--push--t2of5,.g-b--push--t4of10{margin-left:40%}.g-b--push--t3of5,.g-b--push--t6of10{margin-left:60%}.g-b--push--t4of5,.g-b--push--t8of10{margin-left:80%}.g-b--push--t1of6,.g-b--push--t2of12{margin-left:16.666%}.g-b--push--t5of6,.g-b--push--t10of12{margin-left:83.333%}.g-b--push--t1of8{margin-left:12.5%}.g-b--push--t3of8{margin-left:37.5%}.g-b--push--t5of8{margin-left:62.5%}.g-b--push--t7of8{margin-left:87.5%}.g-b--push--t1of10{margin-left:10%}.g-b--push--t3of10{margin-left:30%}.g-b--push--t7of10{margin-left:70%}.g-b--push--t9of10{margin-left:90%}.g-b--push--t1of12{margin-left:8.333%}.g-b--push--t5of12{margin-left:41.666%}.g-b--push--t7of12{margin-left:58.333%}.g-b--push--t11of12{margin-left:91.666%}.g-b--pull--t1of1{margin-right:100%}.g-b--pull--t1of2,.g-b--pull--t2of4,.g-b--pull--t3of6,.g-b--pull--t4of8,.g-b--pull--t5of10,.g-b--pull--t6of12{margin-right:50%}.g-b--pull--t1of3,.g-b--pull--t2of6,.g-b--pull--t4of12{margin-right:33.333%}.g-b--pull--t2of3,.g-b--pull--t4of6,.g-b--pull--t8of12{margin-right:66.666%}.g-b--pull--t1of4,.g-b--pull--t2of8,.g-b--pull--t3of12{margin-right:25%}.g-b--pull--t3of4,.g-b--pull--t6of8,.g-b--pull--t9of12{margin-right:75%}.g-b--pull--t1of5,.g-b--pull--t2of10{margin-right:20%}.g-b--pull--t2of5,.g-b--pull--t4of10{margin-right:40%}.g-b--pull--t3of5,.g-b--pull--t6of10{margin-right:60%}.g-b--pull--t4of5,.g-b--pull--t8of10{margin-right:80%}.g-b--pull--t1of6,.g-b--pull--t2of12{margin-right:16.666%}.g-b--pull--t5of6,.g-b--pull--t10of12{margin-right:83.333%}.g-b--pull--t1of8{margin-right:12.5%}.g-b--pull--t3of8{margin-right:37.5%}.g-b--pull--t5of8{margin-right:62.5%}.g-b--pull--t7of8{margin-right:87.5%}.g-b--pull--t1of10{margin-right:10%}.g-b--pull--t3of10{margin-right:30%}.g-b--pull--t7of10{margin-right:70%}.g-b--pull--t9of10{margin-right:90%}.g-b--pull--t1of12{margin-right:8.333%}.g-b--pull--t5of12{margin-right:41.666%}.g-b--pull--t7of12{margin-right:58.333%}.g-b--pull--t11of12{margin-right:91.666%}.splashscreen-dillinger{width:500px}.splashscreen p{font-size:1.25rem;margin-bottom:1.43749rem;padding-top:.56251rem}.title{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.title-document{font-size:1.25rem;margin-bottom:.89999rem;padding-top:.10001rem}.menu .menu-item--save-to,.menu .menu-item--import-from{display:block}.menu .menu-item--preview,.menu .menu-item--save-to.in-sidebar,.menu .menu-item--import-from.in-sidebar{display:none}.settings a{font-size:1.25rem}.words,.characters{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.modal--dillinger.about .modal-dialog{font-size:1.25rem}.enter-zen-mode{display:block}.close-zen-mode{right:3rem;top:3rem}#zen{font-size:1.25rem;width:500px}.split-editor{border-right:1px solid #E8E8E8;float:left;padding-right:16px;width:50%}.show-preview .split-editor{display:block}.split-preview{display:block;float:right;position:relative;top:0;width:50%}#editor{font-size:1rem}.preview-mode-toggle-src,.preview-mode-toggle-html{display:block}}@media screen and (min-width:62.5em){html{font-size:.875em}body{font-size:1rem}ul,ol{margin-bottom:.83999rem;padding-top:.16001rem}p{padding-top:.66001rem}p,pre{margin-bottom:1.33999rem}pre,blockquote p{font-size:1rem;padding-top:.66001rem}blockquote p{margin-bottom:.33999rem}h1{font-size:2.0571429rem;margin-bottom:.21999rem;padding-top:.78001rem}h2{font-size:1.953125rem;margin-bottom:.1835837rem;padding-top:.8164163rem}h3{font-size:1.6457143rem;margin-bottom:.07599rem;padding-top:.92401rem}h4{font-size:1.5625rem;margin-bottom:.546865rem;padding-top:.453135rem}h5{font-size:1.25rem;margin-bottom:-.56251rem;padding-top:.56251rem}h6{font-size:1rem;margin-bottom:-.65001rem;padding-top:.65001rem}.g{margin-left:-16px;margin-right:-16px}.g-b{padding-left:16px;padding-right:16px}.g-b--d1of1{width:100%}.g-b--d1of2,.g-b--d2of4,.g-b--d3of6,.g-b--d4of8,.g-b--d5of10,.g-b--d6of12{width:50%}.g-b--d1of3,.g-b--d2of6,.g-b--d4of12{width:33.333%}.g-b--d2of3,.g-b--d4of6,.g-b--d8of12{width:66.666%}.g-b--d1of4,.g-b--d2of8,.g-b--d3of12{width:25%}.g-b--d3of4,.g-b--d6of8,.g-b--d9of12{width:75%}.g-b--d1of5,.g-b--d2of10{width:20%}.g-b--d2of5,.g-b--d4of10{width:40%}.g-b--d3of5,.g-b--d6of10{width:60%}.g-b--d4of5,.g-b--d8of10{width:80%}.g-b--d1of6,.g-b--d2of12{width:16.666%}.g-b--d5of6,.g-b--d10of12{width:83.333%}.g-b--d1of8{width:12.5%}.g-b--d3of8{width:37.5%}.g-b--d5of8{width:62.5%}.g-b--d7of8{width:87.5%}.g-b--d1of10{width:10%}.g-b--d3of10{width:30%}.g-b--d7of10{width:70%}.g-b--d9of10{width:90%}.g-b--d1of12{width:8.333%}.g-b--d5of12{width:41.666%}.g-b--d7of12{width:58.333%}.g-b--d11of12{width:91.666%}.g-b--push--d1of1{margin-left:100%}.g-b--push--d1of2,.g-b--push--d2of4,.g-b--push--d3of6,.g-b--push--d4of8,.g-b--push--d5of10,.g-b--push--d6of12{margin-left:50%}.g-b--push--d1of3,.g-b--push--d2of6,.g-b--push--d4of12{margin-left:33.333%}.g-b--push--d2of3,.g-b--push--d4of6,.g-b--push--d8of12{margin-left:66.666%}.g-b--push--d1of4,.g-b--push--d2of8,.g-b--push--d3of12{margin-left:25%}.g-b--push--d3of4,.g-b--push--d6of8,.g-b--push--d9of12{margin-left:75%}.g-b--push--d1of5,.g-b--push--d2of10{margin-left:20%}.g-b--push--d2of5,.g-b--push--d4of10{margin-left:40%}.g-b--push--d3of5,.g-b--push--d6of10{margin-left:60%}.g-b--push--d4of5,.g-b--push--d8of10{margin-left:80%}.g-b--push--d1of6,.g-b--push--d2of12{margin-left:16.666%}.g-b--push--d5of6,.g-b--push--d10of12{margin-left:83.333%}.g-b--push--d1of8{margin-left:12.5%}.g-b--push--d3of8{margin-left:37.5%}.g-b--push--d5of8{margin-left:62.5%}.g-b--push--d7of8{margin-left:87.5%}.g-b--push--d1of10{margin-left:10%}.g-b--push--d3of10{margin-left:30%}.g-b--push--d7of10{margin-left:70%}.g-b--push--d9of10{margin-left:90%}.g-b--push--d1of12{margin-left:8.333%}.g-b--push--d5of12{margin-left:41.666%}.g-b--push--d7of12{margin-left:58.333%}.g-b--push--d11of12{margin-left:91.666%}.g-b--pull--d1of1{margin-right:100%}.g-b--pull--d1of2,.g-b--pull--d2of4,.g-b--pull--d3of6,.g-b--pull--d4of8,.g-b--pull--d5of10,.g-b--pull--d6of12{margin-right:50%}.g-b--pull--d1of3,.g-b--pull--d2of6,.g-b--pull--d4of12{margin-right:33.333%}.g-b--pull--d2of3,.g-b--pull--d4of6,.g-b--pull--d8of12{margin-right:66.666%}.g-b--pull--d1of4,.g-b--pull--d2of8,.g-b--pull--d3of12{margin-right:25%}.g-b--pull--d3of4,.g-b--pull--d6of8,.g-b--pull--d9of12{margin-right:75%}.g-b--pull--d1of5,.g-b--pull--d2of10{margin-right:20%}.g-b--pull--d2of5,.g-b--pull--d4of10{margin-right:40%}.g-b--pull--d3of5,.g-b--pull--d6of10{margin-right:60%}.g-b--pull--d4of5,.g-b--pull--d8of10{margin-right:80%}.g-b--pull--d1of6,.g-b--pull--d2of12{margin-right:16.666%}.g-b--pull--d5of6,.g-b--pull--d10of12{margin-right:83.333%}.g-b--pull--d1of8{margin-right:12.5%}.g-b--pull--d3of8{margin-right:37.5%}.g-b--pull--d5of8{margin-right:62.5%}.g-b--pull--d7of8{margin-right:87.5%}.g-b--pull--d1of10{margin-right:10%}.g-b--pull--d3of10{margin-right:30%}.g-b--pull--d7of10{margin-right:70%}.g-b--pull--d9of10{margin-right:90%}.g-b--pull--d1of12{margin-right:8.333%}.g-b--pull--d5of12{margin-right:41.666%}.g-b--pull--d7of12{margin-right:58.333%}.g-b--pull--d11of12{margin-right:91.666%}.splashscreen-dillinger{width:700px}.splashscreen p{font-size:1.25rem;margin-bottom:1.43749rem;padding-top:.56251rem}.title{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.title-document{font-size:1.25rem;margin-bottom:.89999rem;padding-top:.10001rem}.menu .menu-item--export-as{display:block}.menu .menu-item--preview{display:none}.settings a{font-size:1.25rem}.words,.characters{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.modal--dillinger.about .modal-dialog,#zen{font-size:1.25rem}#zen{width:700px}#editor{font-size:1rem}}@media screen and (min-width:87.5em){html{font-size:.875em}body{font-size:1rem}ul,ol{margin-bottom:.83999rem;padding-top:.16001rem}p{padding-top:.66001rem}p,pre{margin-bottom:1.33999rem}pre,blockquote p{font-size:1rem;padding-top:.66001rem}blockquote p{margin-bottom:.33999rem}h1{font-size:2.0571429rem;margin-bottom:.21999rem;padding-top:.78001rem}h2{font-size:1.953125rem;margin-bottom:.1835837rem;padding-top:.8164163rem}h3{font-size:1.6457143rem;margin-bottom:.07599rem;padding-top:.92401rem}h4{font-size:1.5625rem;margin-bottom:.546865rem;padding-top:.453135rem}h5{font-size:1.25rem;margin-bottom:-.56251rem;padding-top:.56251rem}h6{font-size:1rem;margin-bottom:-.65001rem;padding-top:.65001rem}.splashscreen-dillinger{width:800px}.splashscreen p{font-size:1.25rem;margin-bottom:1.43749rem;padding-top:.56251rem}.title{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.title-document{margin-bottom:.89999rem;padding-top:.10001rem}.title-document,.settings a{font-size:1.25rem}.words,.characters{font-size:.8rem;margin-bottom:.77999rem;padding-top:.22001rem}.modal--dillinger.about .modal-dialog,#zen{font-size:1.25rem}#editor{font-size:1rem}}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}.form-horizontal .form-group-lg .control-label{padding-top:14.3px}.form-horizontal .form-group-sm .control-label{padding-top:6px}.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}@media screen and (max-width:1200px){#_default_{max-width:30%}#_default_ ._default_{font-size:.825rem;line-height:.875rem;padding:12px 12px 6px 24px;text-align:justify}}@media screen and (max-width:1100px){#_default_{max-width:27%}#_default_ ._default_{font-size:.8rem;line-height:.85rem;padding:12px 6px 6px 24px;text-align:justify}}@media screen and (max-width:1000px){#_default_{max-width:24%}#_default_ ._default_{font-size:.775rem;line-height:.8rem;padding:12px 6px 6px 24px;text-align:justify}}@media screen and (max-width:900px){#_default_{max-width:30%}}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}@media screen and (max-width:720px){#_default_{max-width:60%}#_default_ ._default_{font-size:.75rem;line-height:1rem;padding:12px 24px}}@media screen and (max-width:620px){#_default_{max-width:50%}#_default_ ._default_{font-size:.66rem;letter-spacing:1px;line-height:1rem;padding:10px 24px}}@media screen and (max-width:520px){#_default_ ._default_{font-size:.4rem;line-height:.875rem;padding:6px 12px 6px 24px;text-align:justify}}@media screen and (max-width:460px){#_default_{display:none}}@media screen and (max-width:46.1875em){.editor-header{display:none}.editor-header--first{display:block;width:100%}}</style></head><body id="preview">
<h1 class="code-line" data-line-start=0 data-line-end=1><a id="JSSDK6X_H5API_0"></a>JSSDK-6.X （H5）API文档</h1>
<h2 class="code-line" data-line-start=2 data-line-end=3><a id="_2"></a>简介</h2>
<blockquote>
<p class="has-line-data" data-line-start="3" data-line-end="6">JSSDK-6.X 是由苏州驰声信息科技基于JavaScript EMCAScript 5 / 6规范开发的语音评测JSSDK；<br>
该版本SDK引入全新上下文，使SDK运行流程更加规范可控，避免在极端操作下（快速点击）导致SDK出现异常；<br>
本次SDK通信部分采用全新架构处理，每次录音均建立新的连接，录音结果返回或error连接关闭，使每次录音评分都有结果反馈（根据返回结果tokenId进行区分）。当本次录音结果未返回可进行下一次录音，并可以接收到上一次评分结果。</p>
</blockquote>
<p class="has-line-data" data-line-start="7" data-line-end="8">内含:</p>
<ul>
<li class="has-line-data" data-line-start="8" data-line-end="9">语音录音机(支持边录边评)</li>
<li class="has-line-data" data-line-start="9" data-line-end="11">播放器</li>
</ul>
<p class="has-line-data" data-line-start="11" data-line-end="14">JSSDK-6.X 可以方便快捷的在各类前端和Web项目中加入语音评测功能。<br>
JSSDK-6.X 在Chrome和Firefox浏览器且HTTPS环境，默认提供HTML5模式。<br>
其中录音和播放功能，需要在HTTPS环境下，同时浏览器需要支持：</p>
<pre><code class="has-line-data" data-line-start="15" data-line-end="18" class="language-sh">    navigator.getUserMedia || navigator.webkitGetUserMedia|| navigator.mozGetUserMedia || navigator.msGetUserMedia
    || navigator.mediaDevices.getUserMedia
</code></pre>
<h2 class="code-line" data-line-start=19 data-line-end=20><a id="1js_19"></a>1、引用js文件</h2>
<pre><code class="has-line-data" data-line-start="22" data-line-end="24" class="language-sh">&lt;script <span class="hljs-built_in">type</span>=<span class="hljs-string">"text/javascript"</span> src=<span class="hljs-string">"https://sdk.cloud.chivox.com/chivoxsdk-js/v6.0/chivox.min.js"</span>&gt;&lt;/script&gt;
</code></pre>
<h2 class="code-line" data-line-start=25 data-line-end=26><a id="2Html5Recorder_25"></a>2、Html5Recorder使用示例</h2>
<pre><code class="has-line-data" data-line-start="28" data-line-end="70" class="language-sh">    //<span class="hljs-number">1</span>.初始化SDK
   <span class="hljs-built_in">let</span> sdk = new Html5Recorder({
        appKey: <span class="hljs-string">'14255202120000cf'</span>,
        sigurl: <span class="hljs-string">'../php/sig.php'</span>,
        server:<span class="hljs-string">"wss://cloud.chivox.com"</span>,
        onInit: <span class="hljs-keyword">function</span> (mess) {
            
        }, 
        onError: <span class="hljs-keyword">function</span> (err) {
            console.log(<span class="hljs-string">"onError"</span>+err)
        },
   })
   
   //开始录音
    sdk.record({
        duration:<span class="hljs-number">4000</span>,
        serverParams:{
            coreType: <span class="hljs-string">"en.sent.score"</span>,
            res: <span class="hljs-string">"eng.snt.g4"</span>,
            refText: refText,
            rank: <span class="hljs-number">100</span>,
            userId: <span class="hljs-string">"chivox tester"</span>
        },
        onRecordIdGenerated:<span class="hljs-keyword">function</span> (tokenId) {
            console.log(<span class="hljs-string">"=============onRecordIdGenerated start============="</span>);
            console.log(JSON.stringify(tokenId));
            console.log(<span class="hljs-string">"=============onRecordIdGenerated end============="</span>);
        },
        onStart:<span class="hljs-function"><span class="hljs-title">function</span></span> () {
            controlRecordU(<span class="hljs-number">0</span>)
        },        
        onStop:<span class="hljs-function"><span class="hljs-title">function</span></span> () {
            controlRecordU(<span class="hljs-number">1</span>)
        },
        onScore:<span class="hljs-keyword">function</span> (score) {
            console.log(score)
        },
        onScoreError:<span class="hljs-keyword">function</span> (err) {
            alert(JSON.stringify(err);
        }
    })
</code></pre>
<h2 class="code-line" data-line-start=70 data-line-end=71><a id="21_Html5Recorder_70"></a>2.1 Html5Recorder接口说明</h2>
<h3 class="code-line" data-line-start=72 data-line-end=73><a id="new_Html5Recorderoptions_72"></a>new Html5Recorder(options)；</h3>
<p class="has-line-data" data-line-start="73" data-line-end="74">创建一个Html5录音机；</p>
<h2 class="code-line" data-line-start=74 data-line-end=75><a id="Params_74"></a>Params</h2>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:right">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>options</td>
<td style="text-align:center">Object</td>
<td style="text-align:right">初始化参数,格式如下<a href="#Default_option">default_record_option</a></td>
</tr>
</tbody>
</table>
<h2 class="code-line" data-line-start=78 data-line-end=79><a id="Default_option_78"></a>Default_option</h2>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:right">Argument</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>server</td>
<td style="text-align:center">string</td>
<td style="text-align:right"></td>
<td style="text-align:left">指定SDK的评分服务器地址。默认值: wss://cloud.chivox.com; (如果指定server为非wss协议，则使用默认协议)</td>
</tr>
<tr>
<td>appKey</td>
<td style="text-align:center">string</td>
<td style="text-align:right">&lt;optional&gt;</td>
<td style="text-align:left">指定录音机使用的appKey。<strong>必填</strong></td>
</tr>
<tr>
<td>sigurl</td>
<td style="text-align:center">string</td>
<td style="text-align:right">&lt;optional&gt;</td>
<td style="text-align:left">指定录音机获取sig和timestamp的服务器地址（sig算法由驰声提供）。<strong>必填</strong></td>
</tr>
<tr>
<td>alg</td>
<td style="text-align:center">string</td>
<td style="text-align:right"></td>
<td style="text-align:left">sig签名加密算法类型,默认值为 sha1 ,签名服务加密类型必须与传入alg加密类型保持一致；支持加密类型:[“sha1”,“md5”,“sha256”]</td>
</tr>
<tr>
<td>signature</td>
<td style="text-align:center">function</td>
<td style="text-align:right"></td>
<td style="text-align:left">sig签名解耦，@return(object),返回值必须为 {timestamp: &quot;<strong><strong><strong>&quot;, sig: &quot;</strong></strong></strong>**&quot;}</td>
</tr>
<tr>
<td>micWatch</td>
<td style="text-align:center">boolean</td>
<td style="text-align:right"></td>
<td style="text-align:left">是否开启麦克风实时检测功能，默认值：false</td>
</tr>
<tr>
<td>onInit</td>
<td style="text-align:center">callback</td>
<td style="text-align:right"></td>
<td style="text-align:left">录音机初始化完成后的Callback调用。格式：(mess) =&gt; {} @return (string)</td>
</tr>
<tr>
<td>onError</td>
<td style="text-align:center">callback</td>
<td style="text-align:right"></td>
<td style="text-align:left">录音机初始化或运行期间出错时的Callback调用。当用户没有传onScoreError回调，SDK所有错误从onError回调出来，当用户传了onScoreError回调，评分相关错误通过onScoreError进行回调，评分相关错误不再走onError回调格式：(error) =&gt; {} @return (Object)</td>
</tr>
</tbody>
</table>
<h2 class="code-line" data-line-start=90 data-line-end=91><a id="Methods_90"></a>Methods</h2>
<h3 class="code-line" data-line-start=91 data-line-end=92><a id="recordparams_91"></a>record(params)</h3>
<p class="has-line-data" data-line-start="92" data-line-end="94">开始录音接口。<br>
<strong>params (Object): 录音时所需的参数。参数有：</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>duration</td>
<td style="text-align:center">string</td>
<td style="text-align:left">录音时长（当用户录音时长小于2000ms默认2000ms），单位：毫秒。</td>
</tr>
<tr>
<td>playDing</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">录音前是否播放“ding”声,默认值:true。</td>
</tr>
<tr>
<td>audioType</td>
<td style="text-align:center">string</td>
<td style="text-align:left">录音格式,参数（支持格式）：“wav&quot;,“mp3”;默认参数：“wav”</td>
</tr>
<tr>
<td>logbus</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">是否向logbus服务器发送日志,默认值:true。</td>
</tr>
<tr>
<td>serverParams</td>
<td style="text-align:center">Object</td>
<td style="text-align:left">录音参数，具体参数请咨询技术支持</td>
</tr>
<tr>
<td>onRecordIdGenerated</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">开始录音后生成tokenId后的Callback(该版本SDK每次评分均建立新的连接，所以每次评分均有对应tokenId的结果（包含error信息）反馈，录音过程中会存在上一次结果未返回去进行当前评分行为，客户可根据tokenId去判断是否处理上一次评分反馈结果）。格式：(tokenId) =&gt; { var lastTokenID = tokenId.tokenId }</td>
</tr>
<tr>
<td>onStart</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">（录音时长从当前回调执行开始计算）开始录音后的Callback。格式：() =&gt; { }</td>
</tr>
<tr>
<td>onStop</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">录音结束后的Callback。格式：() =&gt; { }</td>
</tr>
<tr>
<td>onInternalScore</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">录音中服务器Push回来的中间评分结果的Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onScore</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">服务器评分结果返回后的Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onScoreError</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">服务器评分出错返回后的Callback；当用户没有传onScoreError回调，SDK所有错误从onError回调出来，当用户传了onScoreError回调，评分相关错误通过onScoreError进行回调，评分相关错误不再走onError回调；格式：(err) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onFrame</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">实时返回当前录音数据Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=108 data-line-end=109><a id="stopRecord_108"></a>stopRecord()</h3>
<p class="has-line-data" data-line-start="109" data-line-end="110">停止录音(在录音过程中要注意开启和结束录音时间间隔，如果暴力测试导致上传录音数据过短或没有上传录音数据，部分内核会返回调用序错误，导致评分异常)</p>
<h3 class="code-line" data-line-start=111 data-line-end=112><a id="reset__111"></a>reset( )</h3>
<p class="has-line-data" data-line-start="112" data-line-end="113">重置录音机引擎</p>
<h3 class="code-line" data-line-start=114 data-line-end=115><a id="getMicVolume__114"></a>getMicVolume( )</h3>
<p class="has-line-data" data-line-start="115" data-line-end="116">获取录音机录音音量。</p>
<h3 class="code-line" data-line-start=117 data-line-end=118><a id="getVolume_117"></a>getVolume()</h3>
<p class="has-line-data" data-line-start="118" data-line-end="119">获取回放音量。</p>
<h3 class="code-line" data-line-start=120 data-line-end=121><a id="setMicVolumevolume_120"></a>setMicVolume(volume)</h3>
<p class="has-line-data" data-line-start="121" data-line-end="123">设置录音机录音音量。<br>
<strong>params</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>volume</td>
<td style="text-align:center">int</td>
<td style="text-align:left">0~1</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=126 data-line-end=127><a id="setVolumevolume_126"></a>setVolume(volume)</h3>
<p class="has-line-data" data-line-start="127" data-line-end="129">设置回放音量。<br>
<strong>params</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>volume</td>
<td style="text-align:center">int</td>
<td style="text-align:left">0~1</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=133 data-line-end=134><a id="showVolumeBar__133"></a>showVolumeBar( )</h3>
<p class="has-line-data" data-line-start="134" data-line-end="135">显示波形图 （使用该接口前，需要创建 &lt;div id=“chivox-recorder”&gt;&lt;/div&gt;）</p>
<h3 class="code-line" data-line-start=136 data-line-end=137><a id="startReplayoptions_136"></a>startReplay(options)</h3>
<p class="has-line-data" data-line-start="137" data-line-end="139">开始回放最后一次录音。<br>
<strong>options(Object)</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>onStop</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">回放完成的Callback，格式：() =&gt; {}。</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=143 data-line-end=144><a id="stopReplay__143"></a>stopReplay( )</h3>
<p class="has-line-data" data-line-start="144" data-line-end="145">停止回放。</p>
<h2 class="code-line" data-line-start=146 data-line-end=147><a id="3Html5Player_146"></a>3、Html5Player</h2>
<pre><code>HTML5模式的播放器。基于web audio API设计开发，用于支持该环境下的远程或本地音频播放。
</code></pre>
<h2 class="code-line" data-line-start=149 data-line-end=150><a id="31Html5Player_149"></a>3.1、Html5Player使用示例</h2>
<pre><code class="has-line-data" data-line-start="152" data-line-end="176" class="language-sh">    // <span class="hljs-number">1</span>、 创建播放器
    <span class="hljs-built_in">let</span> player =  new Html5Player(options);
    //<span class="hljs-number">2</span>、加载音频
     player.load({
            duration：<span class="hljs-string">"3000"</span>,
            position:<span class="hljs-string">"1000"</span>
            url:<span class="hljs-string">"../static/I-want-to-know-the-past-and-present-of-Hong-Kong.mp3"</span>,
            success:<span class="hljs-keyword">function</span> (code,message) {
                //播放音频
                player.play({
                    position:<span class="hljs-number">0</span>,
                    onStop:<span class="hljs-function"><span class="hljs-title">function</span></span> () {
                        console.log(<span class="hljs-string">"player onStop"</span>);
                    },
                    onStart:<span class="hljs-function"><span class="hljs-title">function</span></span> () {
                        console.log(<span class="hljs-string">"player onStart"</span>);
                    }
                })
            },
            error:<span class="hljs-keyword">function</span> (err) {
                console.log(<span class="hljs-string">"player error:"</span> + JSON.stringify(err));
            }
        })
</code></pre>
<h2 class="code-line" data-line-start=177 data-line-end=178><a id="32_Html5Player_177"></a>3.2 Html5Player接口说明</h2>
<h3 class="code-line" data-line-start=178 data-line-end=179><a id="new_Html5Player_178"></a>new Html5Player()</h3>
<p class="has-line-data" data-line-start="179" data-line-end="180">创建一个Html5音频播放器。</p>
<h2 class="code-line" data-line-start=181 data-line-end=182><a id="Methods_181"></a>Methods</h2>
<h3 class="code-line" data-line-start=182 data-line-end=183><a id="loadoptions_182"></a>load(options)</h3>
<p class="has-line-data" data-line-start="183" data-line-end="185">加载音频接口<br>
<strong>options（Object）</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td style="text-align:center">string</td>
<td style="text-align:left">要加载的音频URL地址。</td>
</tr>
<tr>
<td>success</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">加载音频成功的Callback，格式：() =&gt; {}。</td>
</tr>
<tr>
<td>error</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">加载音频失败后的Callback，格式：(err) =&gt; {}。</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=191 data-line-end=192><a id="playoptions_191"></a>play(options)</h3>
<p class="has-line-data" data-line-start="192" data-line-end="194">加载音频接口<br>
<strong>options（Object）</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:center">Argument</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>position</td>
<td style="text-align:center">int</td>
<td style="text-align:center"></td>
<td style="text-align:left">播放位置，默认0。单位：ms,*可选</td>
</tr>
<tr>
<td>duration</td>
<td style="text-align:center">init</td>
<td style="text-align:center">&lt;optional&gt;</td>
<td style="text-align:left">播放时长。单位：ms *可选</td>
</tr>
<tr>
<td>error</td>
<td style="text-align:center">callback</td>
<td style="text-align:center">&lt;optional&gt;</td>
<td style="text-align:left">加载音频失败后的Callback，格式：(err) =&gt; {}。</td>
</tr>
<tr>
<td>onStart</td>
<td style="text-align:center">callback</td>
<td style="text-align:center"></td>
<td style="text-align:left">开始播放音频时的Callback，格式：() =&gt; {}。</td>
</tr>
<tr>
<td>onStop</td>
<td style="text-align:center">callback</td>
<td style="text-align:center"></td>
<td style="text-align:left">音频播放完成后的Callback，格式：() =&gt; {}。</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=202 data-line-end=203><a id="stop__202"></a>stop( )</h3>
<p class="has-line-data" data-line-start="203" data-line-end="204">手动停止音频播放。</p>
<h3 class="code-line" data-line-start=205 data-line-end=206><a id="setVolumevolume_205"></a>setVolume(volume)</h3>
<p class="has-line-data" data-line-start="206" data-line-end="208">设置播放器播放音量。<br>
<strong>params</strong></p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>volume</td>
<td style="text-align:center">int</td>
<td style="text-align:left">0~1</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=212 data-line-end=213><a id="getVolume__212"></a>getVolume( )</h3>
<p class="has-line-data" data-line-start="213" data-line-end="214">获取播放器播放音量，@return(init) 0~1</p>
<h3 class="code-line" data-line-start=215 data-line-end=216><a id="reset__215"></a>reset( )</h3>
<p class="has-line-data" data-line-start="216" data-line-end="217">重置播放器状态。</p>
<h2 class="code-line" data-line-start=217 data-line-end=218><a id="4_aipanel_217"></a>4 aipanel</h2>
<p class="has-line-data" data-line-start="218" data-line-end="219">aipanel 包含播放器，录音机、录音回放；是基于Html5Recorder 和 Html5Player 进行封装，方便客户在简单的应用场景中进行播放标准音录音评分和播放录音音频；（在复杂使用场景中，建议用户直接调用Html5Recorder和Html5Player）</p>
<h2 class="code-line" data-line-start=219 data-line-end=220><a id="41_aipanel__219"></a>4.1 aipanel 使用示例</h2>
<h3 class="code-line" data-line-start=220 data-line-end=221><a id="html_220"></a>html示例</h3>
<pre><code>    &lt;div id=&quot;aiPanel&quot; class=&quot;aiPanel&quot;&gt;
        &lt;div&gt;
            &lt;button class=&quot;play&quot;&gt;&lt;/button&gt;
            &lt;button class=&quot;record&quot;&gt;&lt;/button&gt;
            &lt;button class=&quot;replay&quot;&gt;&lt;/button&gt;
            &lt;div class=&quot;recordProgressBar&quot;&gt;&lt;div class=&quot;value&quot;&gt;&lt;/div&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;chivox-recorder&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
</code></pre>
<h3 class="code-line" data-line-start=230 data-line-end=231><a id="htmlDOM_230"></a>html中DOM节点说明：</h3>
<p class="has-line-data" data-line-start="231" data-line-end="232">html示例中Dom节点及类名均为必填选项；div#aiPanel为最外层容器，内部放置3个button和1个录音进度条,div#chivox-recorder为绘制录音机波形图容器。</p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>className</th>
<th style="text-align:center">功能说明</th>
<th style="text-align:left">css状态定义</th>
</tr>
</thead>
<tbody>
<tr>
<td>play</td>
<td style="text-align:center">播放音频按钮</td>
<td style="text-align:left">playOff 默认状态，未播放状态， playOn 正在播放状态</td>
</tr>
<tr>
<td>record</td>
<td style="text-align:center">录音按钮</td>
<td style="text-align:left">recordOff 默认状态，未录音状态,recordOn 正在录音状态</td>
</tr>
<tr>
<td>replay</td>
<td style="text-align:center">回放录音音频按钮</td>
<td style="text-align:left">replayDisabled 默认禁用状态（未进行第一次录音，当前无可播放音频），评分后会自动切换状态。replayOff 未回放状态。replayOn正在回放状态</td>
</tr>
<tr>
<td>recordProgressBar</td>
<td style="text-align:center">录音进度条</td>
<td style="text-align:left">其中必须包含一个div.value</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=238 data-line-end=239><a id="css_css_238"></a>css示例 （css样式可根据项目需求自定义）</h3>
<pre><code>#aiPanel button{ width:50px; height:32px; line-height:32px; border:0; padding:0; margin:0; cursor:pointer;}
#aiPanel button{ *margin-right:5px;}
#aiPanel .playOff{ background:#8AD7FB url(../images/icon.png) no-repeat 7px -184px;}
#aiPanel .playOn{ background:#8AD7FB url(../images/icon.png) no-repeat -42px -184px;}
#aiPanel .recordOff{ background:#8AD7FB url(../images/icon.png) no-repeat -147px -186px;}
#aiPanel .recordOn{ background:#8AD7FB url(../images/icon.png) no-repeat -186px -186px;}
#aiPanel .replayDisabled{ background:#CCC url(../images/icon.png) no-repeat -89px -184px; cursor:default;}
#aiPanel .replayOff{ background:#8AD7FB url(../images/icon.png) no-repeat -89px -184px;}
#aiPanel .replayOn{ background:#8AD7FB url(../images/icon.png) no-repeat -42px -184px;}
#aiPanel .recordProgressBar{ width:166px; height:10px; border:1px solid #61A7F5; margin-top:10px; font-size:1px;     line-height:1px; display:none;}
#aiPanel .recordProgressBar .value{ background:#8AD7FB; width:0; height:10px; font-size:1px; line-height:1px;}
</code></pre>
<h3 class="code-line" data-line-start=251 data-line-end=252><a id="js_251"></a>js示例</h3>
<pre><code>    var aipanel = new AiPanel({
            appKey: '14255202120000cf',
            sigurl: '../php/sig.php',
            data: {
                playPosition: 1000,
                playDuration: 2000,
                audioUrl: &quot;/static/I-want-to-know-the-past-and-present-of-Hong-Kong.mp3&quot;, //音频URL
                serverParams: {
                    coreType:  $(&quot;#coreType&quot;).val(),
                    refText:$(&quot;#currentWord&quot;).val(),
                    rank: 100,
                    userId: &quot;chivox tester&quot;
                }
            },
            onInit: function onInit(errno) {
                console.info('[ onInit ]:', errno);
            },
            onError: function onError(err) {
               
            },
            onBeforeRecord: function onBeforeRecord() {
               
            },
            onRecordIdGenerated:function (id) {
             
            },
            onAfterRecord:function(){
                console.log(&quot;onAfterRecord&quot;)
            },
            onScore: function onScore(data) {

            },
            onInternalScore:function(data){
               
            },
            onScoreError: function onScoreError(errorType) {
                
            },
            onBeforePlay:function(){
               
            },
            onAfterPlay:function(){
                
            },
            onBeforeReplay:function(){
               
            },
            onAfterReplay: function onAfterReplay() {
              
            }
        }
    );
</code></pre>
<h2 class="code-line" data-line-start=304 data-line-end=305><a id="42_aipanel_304"></a>4.2 aipanel接口说明</h2>
<h3 class="code-line" data-line-start=305 data-line-end=306><a id="new_AiPanelparams_305"></a>new AiPanel(params)</h3>
<p class="has-line-data" data-line-start="306" data-line-end="307">创建一个aipanel引擎（当一个页面有多组录音播放操作时，不要多次new AiPanel，可调用setData接口去切换录音评分参数）。</p>
<h3 class="code-line" data-line-start=307 data-line-end=308><a id="params_Object__307"></a>params (Object): 录音时所需的参数。参数有：</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th style="text-align:center">Type</th>
<th style="text-align:left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>appKey</td>
<td style="text-align:center">string</td>
<td style="text-align:left">指定录音机使用的appKey。*必填</td>
</tr>
<tr>
<td>sigurl</td>
<td style="text-align:center">string</td>
<td style="text-align:left">指定录音机获取sig和timestamp的服务器地址（sig算法由驰声提供）。*必填</td>
</tr>
<tr>
<td>alg</td>
<td style="text-align:center">string</td>
<td style="text-align:left">sig签名加密算法类型,默认值为sha1,签名服务加密类型必须与传入alg加密类型保持一致；支持加密类型:[“sha1”,“md5”,“sha256”]</td>
</tr>
<tr>
<td>signature</td>
<td style="text-align:center">function</td>
<td style="text-align:left">sig签名解耦，@return(object),返回值必须为 {timestamp: “####”, sig: “#####”}</td>
</tr>
<tr>
<td>micWatch</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">是否开启麦克风实时检测功能，默认值：false</td>
</tr>
<tr>
<td>server</td>
<td style="text-align:center">string</td>
<td style="text-align:left">指定SDK的评分服务器地址。默认值: wss://cloud.chivox.com; (如果指定server为非wss协议，则使用默认协议)</td>
</tr>
<tr>
<td>playDing</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">录音前是否播放“ding”声,默认值:true。</td>
</tr>
<tr>
<td>logbus</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">是否向logbus服务器发送日志,默认值:true。</td>
</tr>
<tr>
<td>getResult</td>
<td style="text-align:center">boolean</td>
<td style="text-align:left">是否返回非当前录音评分结果,默认值:false（不返回）;如果设为true，可配合onRecordIdGenerated接口返回tokenId对结果进行处理。</td>
</tr>
<tr>
<td>data</td>
<td style="text-align:center">object</td>
<td style="text-align:left">播放、录音评分参数</td>
</tr>
<tr>
<td>data.playPosition</td>
<td style="text-align:center">init</td>
<td style="text-align:left">播放位置，默认0。单位：ms,*可选</td>
</tr>
<tr>
<td>data.playDuration</td>
<td style="text-align:center">init</td>
<td style="text-align:left">播放时长。单位：ms *可选</td>
</tr>
<tr>
<td>data.duration</td>
<td style="text-align:center">string</td>
<td style="text-align:left">录音时长（当用户录音时长小于2000ms默认2000ms），单位：毫秒。</td>
</tr>
<tr>
<td>data.audioType</td>
<td style="text-align:center">string</td>
<td style="text-align:left">录音格式,参数（支持格式）：“wav&quot;,“mp3”;默认参数：“wav”</td>
</tr>
<tr>
<td>data.serverParams</td>
<td style="text-align:center">object</td>
<td style="text-align:left">录音参数，具体参数请咨询技术支持</td>
</tr>
<tr>
<td>onInit</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">录音机初始化完成后的Callback调用。格式：(mess) =&gt; {} @return (string)</td>
</tr>
<tr>
<td>onError</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">录音机初始化或运行期间出错时的Callback调用。当用户没有传onScoreError回调，SDK所有错误从onError回调出来，当用户传了onScoreError回调，评分相关错误通过onScoreError进行回调，评分相关错误不再走onError回调格式：(error) =&gt; {} @return (Object)</td>
</tr>
<tr>
<td>onBeforeRecord</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">开始录音前回调</td>
</tr>
<tr>
<td>onStartRecord</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">开始录音回调（录音时长从当前开始计算）</td>
</tr>
<tr>
<td>onFrame</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">实时返回当前录音数据Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onRecordIdGenerated</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">开始录音后生成tokenId后的Callback(该版本SDK每次评分均建立新的连接，所以每次评分均有对应tokenId的结果（包含error信息）反馈，录音过程中会存在上一次结果未返回去进行当前评分行为，客户可根据tokenId去判断是否处理上一次评分反馈结果）。格式：(tokenId) =&gt; { var lastTokenID = tokenId.tokenId }</td>
</tr>
<tr>
<td>onAfterRecord</td>
<td style="text-align:center">callback</td>
<td style="text-align:left">录音结束回调</td>
</tr>
<tr>
<td>onInternalScore</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">录音中服务器Push回来的中间评分结果的Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onScore</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">服务器评分结果返回后的Callback。格式：(data) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onScoreError</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">服务器评分出错返回后的Callback；当用户没有传onScoreError回调，SDK所有错误从onError回调出来，当用户传了onScoreError回调，评分相关错误通过onScoreError进行回调，评分相关错误不再走onError回调；格式：(err) =&gt; { } @return(Object)</td>
</tr>
<tr>
<td>onBeforePlay</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">播放标准音前回调</td>
</tr>
<tr>
<td>onAfterPlay</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">播放标准音结束后回调</td>
</tr>
<tr>
<td>onBeforeReplay</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">播放录音前回调</td>
</tr>
<tr>
<td>onAfterReplay</td>
<td style="text-align:center">Callback</td>
<td style="text-align:left">播放录音结束回调</td>
</tr>
</tbody>
</table>
<h2 class="code-line" data-line-start=339 data-line-end=340><a id="Methods_339"></a>Methods</h2>
<h3 class="code-line" data-line-start=341 data-line-end=342><a id="rebind_341"></a>rebind()</h3>
<p class="has-line-data" data-line-start="342" data-line-end="343">当页面节点（播放、录音、回放）发生改变时，重新绑定引擎；</p>
<h3 class="code-line" data-line-start=344 data-line-end=345><a id="setData_344"></a>setData()</h3>
<p class="has-line-data" data-line-start="345" data-line-end="346">更新或设置 data 参数。</p>
<h3 class="code-line" data-line-start=347 data-line-end=348><a id="resetStatus_347"></a>resetStatus()</h3>
<p class="has-line-data" data-line-start="348" data-line-end="349">重置aipanel状态</p>
<h3 class="code-line" data-line-start=350 data-line-end=351><a id="dispose_350"></a>dispose（）</h3>
<p class="has-line-data" data-line-start="351" data-line-end="352">销毁中aipanel中创建的AudioContext实例</p>
<h2 class="code-line" data-line-start=353 data-line-end=354><a id="5__353"></a>5 错误码说明</h2>
<h3 class="code-line" data-line-start=354 data-line-end=355><a id="7000079999SDK_354"></a>70000~79999为SDK内部错误</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>错误码</th>
<th style="text-align:center">错误码说明</th>
<th style="text-align:left">建议处理方式</th>
</tr>
</thead>
<tbody>
<tr>
<td>50003</td>
<td style="text-align:center">没有音频输入设备录音机</td>
<td style="text-align:left">检查浏览器是否为https环境，浏览器麦克风是否禁用</td>
</tr>
<tr>
<td>70001</td>
<td style="text-align:center">录音机初始化为成功</td>
<td style="text-align:left">检查浏览器是否支持Html5,浏览器是否为https环境，浏览器麦克风是否禁用，向前检查new Html5Recorder报错</td>
</tr>
<tr>
<td>70002</td>
<td style="text-align:center">录音机正在进行录音</td>
<td style="text-align:left">等待当前录音结束再进行录音操作</td>
</tr>
<tr>
<td>71001</td>
<td style="text-align:center">websocket连接数超过最大连接数四个</td>
<td style="text-align:left">评分结果响应较慢，待前面评分结果返回在进行录音</td>
</tr>
<tr>
<td>72001</td>
<td style="text-align:center">没有音频输入设备</td>
<td style="text-align:left">初始化失败，请检查初始化失败原因</td>
</tr>
<tr>
<td>72002</td>
<td style="text-align:center">获取sig签名失败</td>
<td style="text-align:left">请检查网络或sigurl是否正确</td>
</tr>
<tr>
<td>73001</td>
<td style="text-align:center">websocket连接错误</td>
<td style="text-align:left">websocket连接不上，请检查网络或评分接口是否正确</td>
</tr>
<tr>
<td>74001</td>
<td style="text-align:center">设置或获取回放音量时没有回放设备</td>
<td style="text-align:left">初始化失败</td>
</tr>
<tr>
<td>74002</td>
<td style="text-align:center">设置或获取录音音量时没有录音设备</td>
<td style="text-align:left">初始化失败</td>
</tr>
<tr>
<td>75001</td>
<td style="text-align:center">必填参数AppKey不合法</td>
<td style="text-align:left">请检查AppKey是否填写，数据类型是否正确</td>
</tr>
<tr>
<td>75002</td>
<td style="text-align:center">必填参数sigurl不合法</td>
<td style="text-align:left">请检查sigurl是否填写，数据类型是否正确</td>
</tr>
<tr>
<td>75003</td>
<td style="text-align:center">必填参数server不合法</td>
<td style="text-align:left">请检查server是否填写，数据类型是否正确</td>
</tr>
<tr>
<td>75004</td>
<td style="text-align:center">出入alg加密类型不合法</td>
<td style="text-align:left">alg加密类型仅支持[“sha1”,“md5”,“sha256”]，请检查传入值是在支持的加密类型内</td>
</tr>
<tr>
<td>75005</td>
<td style="text-align:center">sig签名不存在或数据类型不正确</td>
<td style="text-align:left">sig服务返回数据必须为（object） {timestamp: “####”, sig: “#####”}</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=371 data-line-end=372><a id="4000049999_371"></a>40000~49999为评分服务错误</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>错误码</th>
<th style="text-align:center">错误码说明</th>
<th style="text-align:left">建议处理方式</th>
</tr>
</thead>
<tbody>
<tr>
<td>40001</td>
<td style="text-align:center">未指定请求参数</td>
<td style="text-align:left">检查评分服务参数或联系技术支持</td>
</tr>
<tr>
<td>40002</td>
<td style="text-align:center">未在参数中添加request参数项</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>40400</td>
<td style="text-align:center">请求的内核资源不存在</td>
<td style="text-align:left">更换内核或联系技术支持</td>
</tr>
<tr>
<td>40092</td>
<td style="text-align:center">传输的音频时长超限</td>
<td style="text-align:left">缩短传输音频时长或联系技术支持</td>
</tr>
<tr>
<td>41001</td>
<td style="text-align:center">参数非JSON格式</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>41002</td>
<td style="text-align:center">控制消息的格式出错没有cmd项</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>41004</td>
<td style="text-align:center">控制消息的格式出错没有param项</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>41007</td>
<td style="text-align:center">未传输音频格式</td>
<td style="text-align:left">请传输音频格式</td>
</tr>
<tr>
<td>41008</td>
<td style="text-align:center">音频格式不支持</td>
<td style="text-align:left">请传入正确音频格式或联系技术支持</td>
</tr>
<tr>
<td>41009~41011</td>
<td style="text-align:center">音频信息不合法</td>
<td style="text-align:left">请传入正确音频信息或联系技术支持</td>
</tr>
<tr>
<td>41012</td>
<td style="text-align:center">未传输音频信息</td>
<td style="text-align:left">请传入音频信息</td>
</tr>
<tr>
<td>41014~41025</td>
<td style="text-align:center">参数中有遗漏或不合法</td>
<td style="text-align:left">请检查评分服务参数中内核对应信息是否正确或联系技术支持</td>
</tr>
<tr>
<td>41030~41032</td>
<td style="text-align:center">auth验证未通过</td>
<td style="text-align:left">请检查auth验证信息是否正确或联系技术支持</td>
</tr>
<tr>
<td>42003</td>
<td style="text-align:center">客户端发送请求的顺序出错</td>
<td style="text-align:left">SDK调用顺序不正确或联系技术支持</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=388 data-line-end=389><a id="_388"></a>内核相关错误码</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>错误码</th>
<th style="text-align:center">错误码说明</th>
<th style="text-align:left">建议处理方式</th>
</tr>
</thead>
<tbody>
<tr>
<td>51000</td>
<td style="text-align:center">初始化内核出错</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>51001</td>
<td style="text-align:center">feed音频给内核时出错</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>51002</td>
<td style="text-align:center">生成内核结果时出错</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>52000</td>
<td style="text-align:center">集群进程资源短缺</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>53000</td>
<td style="text-align:center">内核进程崩溃</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>55200</td>
<td style="text-align:center">内核跳转出错,由于服务端的配置异常导致内核跳转异常</td>
<td style="text-align:left">联系技术支持</td>
</tr>
<tr>
<td>55201~55204</td>
<td style="text-align:center">内核跳转出错,跳转时无法连接至内部服务</td>
<td style="text-align:left">建议重试或联系技术支持</td>
</tr>
</tbody>
</table>
</body></html>